package com.authine.cloudpivot.ext.vo.assetcmdb2nc;

import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

@Getter
@Setter
public class AssetDictionary implements Serializable {

    public final static String toNc ="cmdb2nc";
    public final static String toYs ="cmdb2ys";
    public final static String assetDictValue ="asset_dict_value";
    public final static String assetDictKey ="asset_dict_key";

    /**
     * cmdb需要同步到nc 的属性
     */
    List<String> attributeList;

    /**
     *  cmdb需要同步到nc 的属性,nc 及 ys 映射字段key
     *
     *  字典表里的数据 asset_cmdb_attribute ，
     *  组合最终如下： {"61":{"cmdb2ys":"asset_num","cmdb2nc":"def57_after","asset_dict_key","61","asset_dict_value":"资产编号"},....}    *
     *
     */
    Map<String, Map<String, String>> attributeMapping ;

    /**
     *   cmdb需要同步到nc的状态值过滤配置
     */
    List<String> statusList;

    /**
     *   cmdb需要同步到nc的城市过滤配置
     */
    List<String> countryList;

    /**
     *  cmdb需要同步到nc的资产类别过滤配置
     */
    List<String> assetSection;


    /**
     * 设备归属
     */
    List<String> deviceOwnerList;

    /**
     *  部门配置
     */
    Map<String,String> assetCmdb2ysDept;


    /**
     * 是否需要刷新缓存
     */
    boolean refresh;

    /**
     * 是否获取失败, 失败不做后续操作
     */
    boolean fail =true;


    public String getNcKey(String k){
        return attributeMapping.get(k).get(toNc);
    }


    public String getYsKey(String k){
        return attributeMapping.get(k).get(toYs);
    }


}
